package modelo;

import java.util.ArrayList;

public class ListaObsequio {

	private ArrayList<Producto> listaObsequios;
	private ArrayList<Producto> listaRegalos;
	
	public ArrayList<Producto> getListaRegalos() {
		return listaRegalos;
	}


	public void setListaRegalos(ArrayList<Producto> listaRegalos) {
		this.listaRegalos = listaRegalos;
	}


	public ListaObsequio() {
		super();
		this.listaObsequios = new ArrayList<Producto>();
		this.listaRegalos = new ArrayList<Producto>();
	}
	

	public ListaObsequio(ArrayList<Producto> listaObsequios) {
		super();
		this.listaObsequios = new ArrayList();	
		this.listaRegalos = new ArrayList<Producto>();
	}

	public ArrayList<Producto> getListaObsequios() {
		return listaObsequios;
	}


	public void setListaObsequios(ArrayList<Producto> listaObsequios) {
		this.listaObsequios = listaObsequios;
	}
	
	
	public int cantListaObsequios(){
		return this.listaObsequios.size();	
	}
	
	public int cantListaRegalos(){
		return this.listaRegalos.size();	
	}
	
	
	
	public ArrayList<Producto> getListaObsequiada(String valor) {
		
		ArrayList<Producto> productos = new ArrayList<Producto>();
		for(int i=0; i<cantListaObsequios(); i++){
            if (listaObsequios.get(i).getStatus().equalsIgnoreCase(valor)){
                    productos.add(listaObsequios.get(i));
            }
	}
		return productos;
	
	}
	
	public ArrayList<Producto> listaOsequio(){
		ArrayList<Producto> obsequios = new ArrayList();
		String codigo;
	//	int cont = 0;
	if (cantListaRegalos() > 0){	
		
//		for (int i =0; i< cantListaObsequios(); i++){
//			
//			if ( !(listaRegalos.get(cantListaRegalos()-1).getCodigo().equalsIgnoreCase(listaObsequios.get(i).getCodigo()))){
//		
//				obsequios.add(listaObsequios.get(i));
//				
//			} else {
//				cont++;
//				if (cont > 1){
//					
//					obsequios.add(listaObsequios.get(i));
//					
//				}
//			}
//			
//		}
		
		for(int i=0; i<cantListaObsequios(); i++){
		
			codigo = listaObsequios.get(i).getCodigo();
			int cont = 0;
			for (int j=0; j< cantListaRegalos(); j++){
				
				if(!(listaRegalos.get(j).getCodigo().equalsIgnoreCase(codigo))){
					cont++;
					
				}	
			} 

			if ( cont == cantListaRegalos()) {
				obsequios.add(listaObsequios.get(i));
			}
		}
		
	} else {
		
		for(int i=0; i<cantListaObsequios(); i++){
			obsequios.add(listaObsequios.get(i));
		}
	}
	return obsequios;
	} 

	

	public void AgregarObsequio(Producto producto) {
		listaObsequios.add(producto);
	}

	public void AgregarRegalos(Producto producto) {
		listaRegalos.add(producto);
	}

	public int buscarObsequio(String cod) {
		for(int i=0; i<cantListaObsequios(); i++){
            if (listaObsequios.get(i).getCodigo().equalsIgnoreCase(cod)){
            	return i;
            }
		}
    return -1;
	}
	
	public int buscarRegalo(String cod) {
		for(int i=0; i<cantListaObsequios(); i++){
            if (listaRegalos.get(i).getCodigo().equalsIgnoreCase(cod)){
            	return i;
            }
		}
    return -1;
	}


}
